size <- 12. Later this will be
the number of rows of the matrix.x <- rnorm( size ).x1 by adding (on average 10
times smaller) noise to x:
x1 <- x + rnorm( size )/10.x and x1 should be
close to 1.0: check this with function cor.x2 and x3 by
adding (other) noise to x.size <- 12
x <- rnorm( size )
x1 <- x + rnorm( size )/10
cor( x, x1 )
[1] 0.9984954
x2 <- x + rnorm( size )/10
x3 <- x + rnorm( size )/10
x1, x2 and x3
column-wise into a matrix using
m <- cbind( x1, x2, x3 ).m.m.heatmap( m, Colv = NA, Rowv = NA, scale = "none" ).m <- cbind( x1, x2, x3 )
class( m )
[1] "matrix" "array"
head( m )
x1 x2 x3
[1,] -1.6961779 -1.6318368 -1.6172627
[2,] -2.0249971 -1.9847906 -1.9339564
[3,] 0.2233024 0.1707347 0.1329596
[4,] -2.0647907 -2.0149688 -1.8863445
[5,] 0.4759449 0.4044203 0.3171628
[6,] 1.2424951 1.2434414 1.3025230
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
# x1, x2, x3 follow similar color pattern, they should be correlated
y1…y4 (but not correlated with
x), of the same length size.m from columns
x1…x3,y1…y4 in some
random order.y <- rnorm( size )
y1 <- y + rnorm( size )/10
y2 <- y + rnorm( size )/10
y3 <- y + rnorm( size )/10
y4 <- y + rnorm( size )/10
m <- cbind( y4, y3, x2, y1, x1, x3, y2 )
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
cc <- cor( m ) to build the matrix of correlation
coefficients between columns of m.round( cc, 3 ) to show this matrix with 3 digits
precision.cc <- cor( m )
round( cc, 3 ) #
y4 y3 x2 y1 x1 x3 y2
y4 1.000 0.983 -0.271 0.994 -0.282 -0.283 0.991
y3 0.983 1.000 -0.259 0.980 -0.272 -0.273 0.991
x2 -0.271 -0.259 1.000 -0.301 0.997 0.993 -0.253
y1 0.994 0.980 -0.301 1.000 -0.312 -0.316 0.984
x1 -0.282 -0.272 0.997 -0.312 1.000 0.996 -0.265
x3 -0.283 -0.273 0.993 -0.316 0.996 1.000 -0.263
y2 0.991 0.991 -0.253 0.984 -0.265 -0.263 1.000
heatmap( cc, symm = TRUE, scale = "none" )
# E.g. value for (row: x1, col: y1) is the corerlation of vectors x1, y1.
# Values of 1.0 are on the diagonal: e.g. x1 is perfectly correlated with x1.
# Correlations between x, x vectors are close to 1.0.
# Correlations between y, y vectors are close to 1.0.
# Correlations between x, y vectors are close to 0.0.
Copyright © 2024 Biomedical Data Sciences (BDS) | LUMC